package com.suncnpap.base.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.app.util.common.Constants;
import com.app.util.common.ObjUtil;
import com.app.util.common.SysConfig;
import com.app.util.database.mybatis.Page;
import com.app.util.database.mybatis.QueryType;

/**
 * 用户初始化
 * 针对Login 和 main Controller中的用户登录后，或者部门切换后权限切换
 * @author Administrator
 *
 */
@Component("mainHelper")
public class MainHelper {

	/**
	 * 处理user登录或者切换部门后的菜单权限
	 * @param chenl
	 */
	public void initUserInfo() {
		
//		
//		//获取其关联的联络部门信息
//		Page pageRelation = new Page();
//		pageRelation.addQueryAnd("intVirDel", QueryType.markEQ, 0);
//		pageRelation.addQueryAnd("strSchoolId", QueryType.markEQ, user.getStrSchoolId());
//		pageRelation.addQueryAnd("strRelationUser", QueryType.markLIKE, user.getStrId());
//		List<Unit> unitList = unitService.getList(pageRelation);
//		user.setStrRelationUnitId(ObjUtil.getFieldValues(unitList, "strId"));
//		
//		
//		List<Menu> menuList = new ArrayList<Menu>();
//		
//		//读取系统中所有权限菜单
//		Page page_menu_all = new Page();
//		page_menu_all.addQueryAnd("intVirDel",QueryType.markEQ, Constants.INT_STATE_T);//删除标记
//		page_menu_all.setSort("intSort");
//		page_menu_all.addQueryAnd("strType",QueryType.markNOTEQ,Menu.MENU_TYPE_FOLDER);		//文件夹的不显示
//		List<Menu> aLLmenuList= menuService.getList(page_menu_all,user.getStrSchoolId());
//		
//		//初始化管理员
//		if(user.getStrUserId().equals(Constants.INIT_USER_ID)) {
//			Page page = new Page();
//			page.setUsePage(false);
//			page.addQueryAnd("intVirDel", QueryType.markEQ, 0);
//			page.addQueryAnd("strUrl", QueryType.markLIKE, "/systemRoot/");	//将所有管理权限分配
//			menuList = menuService.getList(page,null);
//		}else {
//			//管理员
//			if(user.getIntIsAdmin() == Constants.INT_STATE_T){
//				boolean separa_powers = SysConfig.getProBoolan(Constants.SEPARA_POWERS);
//				Page page = new Page();
//				page.setUsePage(false);
//				page.addQueryAnd("intVirDel", QueryType.markEQ, 0);
//				page.addQueryAnd("strNature", QueryType.markEQ, Menu.MENU_NATURE_MANAGER);	//管理菜单
//				page.addQueryAnd("strType",QueryType.markNOTEQ,Menu.MENU_TYPE_FOLDER);		//文件夹的不显示
//				if(separa_powers) {	//开启三元
//					page.addQueryAnd("strAdminType", QueryType.markEQ, user.getStrAdminType());	//将所有管理权限分配
//				}
//				menuList = menuService.getList(page,user.getStrSchoolId());
//				
//				
//			}else{//非管理员
//				//获取用户所有权限ID
//				try {
//					List<String> menuIdList = userService.findUserMenuId(user.getStrId(), user.getStrUnitId(), user.getStrSchoolId(),
//							SysConfig.getProBoolan(Constants.SEPARA_POWERS));
//					
//					if(menuIdList!=null&&menuIdList.size()>0){
//						//循环判断当前用户是否拥有该权限
//						for(int i=0;aLLmenuList!=null&&i<aLLmenuList.size();i++){
//							Menu menu = aLLmenuList.get(i);
//							if(menuIdList.contains(menu.getStrId())){
//								menuList.add(menu);
//							}
//						}
//					}
//				}catch(Exception e) {
//					e.printStackTrace();
//				}
//			}
//		}
//				
//		user.setMenuList(menuList);
	}
}
